Informatik/Jahrgangsstufe Q/index.txt

Jahrganggstufe 12-13



Für die folgenden Unterrichtsreihen finden Sie Material:





Rekursive Algorithmen:



An den Beispielen Fakultät, Binomialkoeffizienten, Fibonacci, Ackermann, Hofstaedter, etc. wird in die rekursive Programmierung eingeführt und an Beispielen wie höheren Sortierverfahren (Quicksort, Heapsort, etc.) vertieft. Zusätzliche Beispiele im Bereich Türme von Hanoi oder Turtlegrafik.





Backtracking:



Als Fortsetzung der Rekursion wird im Rahmen von Projekten wie n-Damen- bzw. Springer-Problem oder Labyrinthsuche wird das Backtracking (mit und ohne Schranken) als neue Algorithmenklasse eingeführt.





Dynamische Datenstrukturen:



Implementierung der dynamischen Listenstrukturen und Erweiterung um dynamische Baumstrukturen (Binärbaum, Suchbaum, AVL-Baum, B-Baum, etc.). Erste Vertiefung von Rekursion/Backtracking.





Objektorientiertes Programmieren:



Vertiefung des ADT-Konzepts (z. B. in einem selbst erstellten Datentypen TBruch, TVektor, etc.) als Objekt. Vertiefung der Modularisierung und der Wiederverwendbarkeit.





Reduktion Hochsprache -> Maschinenebene:



Vertiefung der in der Jgstf. 11.2 aufgezeigten Reduktion Hochsprache -> Maschinensprache inkl. des Prozedurkonzepts und höherer Datenstrukturen.





Graphentheorie:



Datenstruktur Adjazenzmatrix bzw. –liste. Vertiefung der Backtracking-Algorithmen an Graphenproblemen (Breiten- und Tiefensuche, erschöpfende Suche, Kürzeste Wege, TSP, etc.)





Compilerbau:



Entwicklung eines Compilers mit den Bestandteilen Scanner, Parser und Coder für eine selbst entworfene Programmiersprache. Übertragung auf andere Projekte (Textadventure, Geometrieprogramm, etc.)





Theoretische Informatik:



Klassifizierung der vom Compilerbau bekannten Sprachen und Automatendefinition und Erweiterung der Sprach- und Automatenklassen (Chomsky-Hierarchie). Berechenbarkeitsbegriff (Church’sche These), Turingmaschine, Halteproblem.





Logische Programmiersprachen:



Anhand der Programmiersprache SWI PROLOG wird die Arbeitsweise logischer Programmiersprachen verdeutlicht. Themen wie Baumstrukturen, Backtracking und Sprachtheorie werden in diesem Zusammenhang wiederholt.





Spieltheorie:



Zweipersonenspiele wie Vier Gewinnt oder GO werden implementiert. Die Computerstrategie unterliegt dabei dem Negamax-Verfahren.





Netzwerke:



Grundlegende Übertragungsverfahren und Prüfverfahren werden thematisiert. Verschiedene Netzwerktopologien, Routing und Schichtenmodelle werden exemplatisch bearbeitet.





Kryptographie:



Sowohl Mono- als auch Polyalphabetische Verfahen (Cäsar, Vigenere, Schleppnetz, Onetimepad, etc.) werden durchgeführt, implementiert und geknackt. RSA als Vertreter der Asymmetrischen Verschlüsselungsverfahren wird thematisiert





Datenbanken:



Grundlegende Datenbankmodelle (Entity-Relationship-Modell, Relationales Modell) werden an Beispielen erarbeitet und ineinander überführt. Im Anschluss daran werden die Datenbanken normalisiert (1. bis 3. Normalform) und in einem Datenbanksystem umgesetzt. Auf Grundlage der Datenbank werden SQL-Anfragen implementiert.